﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AssemblyExplorer
{
    public interface IDataProvider
    {
        DataItem GetRootDataItem();
        IEnumerable<DataItem> GetChildDataItems(DataItem parentValue);
        IEnumerable<DataItem> GetListDataItems(DataItem parentValue);
        string GetDescription(DataItem parentValue);
    }

    public abstract class DataItem
    {
        public abstract string Text { get; }
        public abstract int ImageIndex { get; }
        public abstract object ReferencedValue { get; }
    }
     
}
